package com.symbio.ishenapi.laboratory.controller;

import com.jfinal.plugin.activerecord.Record;
import com.symbio.ishenapi.common.controller.BaseController;
import com.symbio.ishenapi.laboratory.model.TmLaboratoryInfo;
import io.jboot.web.controller.annotation.RequestMapping;

import java.text.SimpleDateFormat;
import java.util.*;

/**
 * @Author Jianghy
 * @Description 用户化验单数据
 * @date  2018/12/12
 * @return
 */
@RequestMapping("/TmLaboratoryInfoController")
public class TmLaboratoryInfoController extends BaseController {
    /**
     * @Author Jianghy
     * @Description 通过userid、laboratoryid、统计开始time和结束time 分组查询指标信息
     * @date  2018/12/12
     * @return
     */
    public void getIndicatorsTrendChart(){
        //格式化
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        //开始时间
        String startTime = getPara("startTime");
        //结束时间
        String endTime = getPara("endTime");
        //指标ID
        String laboratoryid = getPara("laboratoryid");
        //患者用户ID
        String userId = getPara("userId");
        //当前时间
        Date n = new Date();
        //当前时间的近一个月时间
        Calendar c = Calendar.getInstance();
        c.setTime(n);
        c.add(Calendar.MONTH, -1);
        Date m = c.getTime();
        //初始化时间为空
        if(startTime==null||"".equals(startTime)){
            //现在的时间 格式yyyy-MM-dd
            startTime = format.format(m);
        }
        if(endTime==null||"".equals(endTime)){
            //近一个月的时间 格式yyyy-MM-dd
            endTime = format.format(n);
        }
        if(laboratoryid==null||"".equals(laboratoryid)){
            renderJsonError(50002,"指标查询");
            return;
        }
        if(userId==null||"".equals(userId)){
            renderJsonError(50002,"指标查询");
            return;
        }
        List<Record> list =  TmLaboratoryInfo.dao.getIndicatorsTrendChart(startTime,endTime,laboratoryid,userId);
        if(list==null||list.size()==0){
            renderJsonError(50005,"记录");
            return;
        }
        String[] createTime = new String[list.size()];
        String[] indicatorsResult = new String[list.size()];
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        for(int i=0;i<list.size();i++){
            createTime[i] = sdf.format(list.get(i).get("createTime"));
            indicatorsResult[i] = list.get(i).get("indicatorsResult");
        }
        Map map = new LinkedHashMap();
        map.put("createTime",createTime);
        map.put("indicatorsResult",indicatorsResult);
        renderJsonRet(map);

    }
}
